using System.Runtime.Serialization;
using System.ServiceModel;
using System.Xml;

namespace OpenComposite.HumanActivity.Contracts
{
	[ServiceContract(Namespace = "http://www.OpenComposite.com/HumanActivity")]
	public interface IHumanActivityService
	{
		[OperationContract, XmlSerializerFormat(), FaultContract(typeof(HumanActivityFault))]
		void HumanActivityStart(XmlNode data);
	}
	[MessageContract(IsWrapped = false)]
	public class HAStartRequest
	{
		[MessageBodyMember()]
		public HAStartBody Body;
	}
	[DataContract]
	public class HAStartBody
	{
		[DataMember]
		public XmlNode data;
	}

	[ServiceContract(Namespace = "http://www.OpenComposite.com/HumanActivity")]
	public interface IHumanActivityServiceCallback
	{
		[OperationContract(IsOneWay = true), XmlSerializerFormat()]
		void HumanActivityCompleted(XmlNode data);

		[OperationContract(IsOneWay = true)]
		void HumanActivityAborted(HumanActivityFault fault);
		[OperationContract(IsOneWay = true)]
		void HumanActivityFaulted(HumanActivityFault fault);
	}
}
